#include "file_manager.h"
namespace egear{namespace file{ // egear::file

/********************* FileManagerInterface *********************/
FileManagerInterface::FileManagerInterface() {

};

FileManagerInterface::~FileManagerInterface(){

};

/*********************** CurlFileManager ************************/
CurlFileManager::CurlFileManager(std::string _folder, 
		    std::vector<std::string> _files) {
    folder = _folder;
    files.reserve(_files.size());
    SyncSuspenseFile *susFile;
    int i;
    for(i=0;i<_files.size();i++) {
        susFile = new SyncSuspenseFile(i, folder, _files[i], this);
	files.push_back(susFile);
    }

};

CurlFileManager::~CurlFileManager() {
    int i;
    for(i=0;i<files.size();i++) {
	delete files[i];
    };
};

void CurlFileManager::openFiles() {
    int i;
    for(i=0;i<files.size();i++) {
	files[i]->open();
    }
};

void CurlFileManager::closeFiles() {
    int i;
    for(i=0;i<files.size();i++) {
	files[i]->close();
    }
};

int CurlFileManager::resize(int pieceId, int64_t _size) {
    return files[pieceId]->resize(_size);
};

}} // egear::file
